iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 14
1
AI & Machine Learning

ChatBot&Chatbase系列 第 14

Day14[Line ChatBot]Messaging types上集

  • 分享至 

  • xImage
  •  

今天要介紹的是LineBot回覆的Message types!!!

Message types共有下列這幾種:

  • Text
  • Sticker
  • Image
  • Video
  • Audio
  • Location
  • Imagemap
  • Template

這些資訊可以在 https://developers.line.me/en/docs/messaging-api/message-types/ 看到更詳細的介紹

接著一個一個用python來實作看看!!!
上集先來製作上述的前五個吧!!!

以下的程式碼可以從Day12的python程式
def handle_message(event)的地方開始 (如下圖)
https://ithelp.ithome.com.tw/upload/images/20180103/20107144aIDF9DQlYO.png
在開始前有一件事要注意
這些Message types的使用都是由linebot.models引入的
所以開頭必須加上

from linebot.models import *

開始吧~~~~~~~~

1.Text
也就是純粹的文字回覆。

if event.message.text == "文字":
        line_bot_api.reply_message(event.reply_token,TextSendMessage(text=event.message.text))

當收到的訊息內容為"文字" 就回覆文字訊息 (如下圖)
https://ithelp.ithome.com.tw/upload/images/20180103/20107144nFRc5tsPkp.png

2.Sticker
貼圖回覆
貼圖只能使用Line原有的,以下是Line提供的貼圖與代碼對照表
https://developers.line.me/media/messaging-api/messages/sticker_list.pdf
依照對照表選擇想要的貼圖
package_id(程式中的) = STKPKGID(對照表中的)
sticker_id(程式中的) = STKID(對照表中的)

elif event.message.text == "貼圖":
        line_bot_api.reply_message(event.reply_token,StickerSendMessage(package_id=1, sticker_id=2))

當收到的訊息內容為"貼圖",就會回覆一張貼圖 (如下圖)
https://ithelp.ithome.com.tw/upload/images/20180103/20107144jyK59xpf4l.png

3.Image
圖片回覆

elif event.message.text == "圖片": line_bot_api.reply_message(event.reply_token,ImageSendMessage(original_content_url='圖片網址', preview_image_url='圖片網址'))

當收到的訊息內容為"圖片",就會回覆一張圖片 (如下圖)
https://ithelp.ithome.com.tw/upload/images/20180103/20107144YcZNcxdi8p.png

4.Video
影片回覆
影片需要是https然後結尾是mp4的網址,也就是用youtube的網址是無法直接觀看的。

 elif event.message.text == "影片":
        line_bot_api.reply_message(event.reply_token,VideoSendMessage(original_content_url='影片網址', preview_image_url='預覽的圖片網址'))

當收到的訊息內容為"影片",就會回覆一段影片 (如下圖)
https://ithelp.ithome.com.tw/upload/images/20180103/20107144BJM2zuA9l7.png

5.Audio
音訊回覆
音訊需要是https然後結尾是m4a的網址,也就是用youtube的網址是無法直接傳送的。
duration是指音訊的時間長短設定

elif event.message.text == "音訊":
        line_bot_api.reply_message(event.reply_token,AudioSendMessage(original_content_url='音訊網址', duration=100000))

當收到的訊息內容為"音訊",就會回覆一段音訊 (如下圖)
https://ithelp.ithome.com.tw/upload/images/20180103/20107144G0upTRUk1K.png

完整的程式碼:https://github.com/Tzuhui/LineBot


上一篇
Day13[Line ChatBot]Line@ MANAGER內建功能
下一篇
Day15[Line ChatBot]Messaging types下集
系列文
ChatBot&Chatbase30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言